El Electronic Numerical Integrator and Computer, mejor conocido como ENIAC, se ha considerado a menudo la primera computadora de propósito general, aunque este título pertenece en realidad a la computadora alemana Z3. Era totalmente digital, es decir, ejecutaba sus procesos y operaciones mediante instrucciones en lenguaje máquina, a diferencia de otras máquinas contemporáneas de procesos analógicos. Presentada al público el 15 de febrero de 1946, John W. Mauchly y John Presper Eckert de la Universidad de Pensilvania (EE. UU.) iniciaron su desarrollo en 1943. Esta enorme máquina medía más de 30 metros de largo y pesaba 32 toneladas, estaba compuesta por 17 468 válvulas. El calor de las válvulas elevaba la temperatura de la sala donde se hallaba instalada hasta los 50 °C. y para que llevase a cabo las operaciones para las que se había diseñado. Cuando la ENIAC se terminó en 1946, la II Guerra Mundial ya había terminado. El fin de la contienda hizo que los esfuerzos hasta entonces dedicados principalmente a objetivos militares, se destinaran también a otro tipo de investigación científica más relacionada con las necesidades de la empresa privada. Los esfuerzos múltiples dieron resultados en 1945 Mauchly y Eckert comenzaron a trabajar en una sucesora de la ENIAC, el EDVAC (Electronic Discrete Variable Automatic Computer) y Aiken inició el diseño de la Mark II. En 1951, el que está considerado como la primera computadora que se llamó Saly fue ampliamente comercializada, la UNIVAC I, comenzó a funcionar con éxito. En 1952 la computadora UNIVAC se utilizó para realizar el recuento de votos en las elecciones presidenciales de EE. UU. El resultado victoria (EIsenhower sobre Adlai Stevenson) se conoció 50 minutos después de que se cerraran los colegios electorales.
Estaban construidas con electrónica de válvulas de vacío. Se programaban en lenguaje de la máquina. Un programa es un conjunto de instrucciones para que la máquina efectúe alguna tarea, y el lenguaje más simple en el que puede especificarse un programa se llama lenguaje de máquina (porque el programa debe escribirse mediante algún conjunto de códigos binarios). La primera generación de computadoras y sus antecesores, se describen en la siguiente lista de los principales modelos de que constó:
1946, ENIAC: Considerada a menudo como la primera computadora digital electrónica en la historia. No fue un modelo de producción, sino una máquina experimental. Tampoco era programable en el sentido actual. Se trataba de un enorme aparato que ocupaba todo un sótano en la universidad. Construida con 18 000 tubos de vacío, consumía varios kW de potencia eléctrica y pesaba 27 toneladas. Era capaz de efectuar cinco mil sumas por segundo. Fue hecha por un equipo de ingenieros y científicos encabezados por los doctores John W. Mauchly y J. Presper Eckert1 en la universidad de Pensilvania, en los Estados Unidos.
1949, EDVAC: Segunda computadora programable. También fue un prototipo de laboratorio, pero ya incluía en su diseño las ideas centrales que conforman las computadoras actuales.
1951, UNIVAC I: Primera computadora comercial. Los doctores Mauchly y Eckert fundaron la compañía Universal Computer (Univac), y su primer producto fue esta máquina. El primer cliente fue la Oficina del Censo de Estados Unidos.
1953 IBM 701. Para introducir los datos, estos equipos empleaban tarjetas perforadas, que habían sido inventadas en los años de la revolución industrial (finales del siglo XVIII) por el francés Joseph Marie Jacquard y perfeccionadas por el estadounidense Herman Hollerith en 1890. La IBM 701 fue la primera de una larga serie de computadoras de esta compañía, que luego se convertiría en la número uno, por su volumen de ventas.
La segunda generación de las computadoras reemplazó las válvulas de vacío por los transistores. Con esto, las computadoras de la segunda generación son más pequeñas y consumen menos electricidad que las de la anterior. La forma de comunicación con estas nuevas computadoras es mediante lenguajes más avanzados que el lenguaje de máquina, los cuales reciben el nombre de “lenguajes de alto nivel" o "lenguajes de programación". Las características más relevantes de las computadoras de la segunda generación eran:
1951: Maurice Wilkes inventa la microprogramación, que simplifica mucho el desarrollo de las CPU pero esta microprogramación también fue cambiada más tarde por el computador alemán Bastian Shuantiger.
1956: IBM vendió por un valor de 1 230 000 dólares su primer sistema de disco magnético, el RAMAC (Random Access Method of Accounting and Control). Usaba 50 discos de metal de 61 cm, con 100 pistas por lado. Podía guardar 5 megabytes de datos, con un coste de 10 000 USD por megabyte. El primer lenguaje de programación de propósito general de alto-nivel, FORTRAN, también estaba desarrollándose en la empresa IBM alrededor de este tiempo. (El diseño de lenguaje de alto-nivel Plankalkül de 1945 de Konrad Zuse no se implementó en ese momento).
1959: IBM envió el mainframe IBM 1401 basado en transistores, que utilizaba tarjetas perforadas. Demostró ser una computadora de propósito general y se vendieron 12 000 unidades, haciéndola la máquina más exitosa en la historia de la computación. Tenía una memoria de núcleo magnético de 4000 caracteres (después se extendió a 16 000 caracteres). Muchos aspectos de sus diseños estaban basados en el deseo de reemplazar el uso de tarjetas perforadas, que eran muy usadas desde los años 1920 hasta principios de la década de 1970.